जावास्क्रिप्ट में लॉजिकल OR (या ||
) ऑपरेटर एक ऐसा ऑपरेटर है जो लेफ्ट-हैंड साइड देता है यदि लेफ्ट -हैंड साइड ट्रूथ है, लेकिन अन्यथा डिफॉल्ट करता है और राइट-हैंड साइड देता है।
इसका मतलब यह है कि इसका उपयोग तार्किक बयानों दोनों का परीक्षण करने के लिए किया जा सकता है, और दाएं हाथ के ऑपरेंड को वापस करने के लिए भी बाएं एक गलत होना falsy
।
आइए देखें कि यह कैसे काम करता है।
इससे पहले कि हम आगे बढ़ें, आइए पहले समझें कि falsy
का क्या अर्थ है। यह एक अस्पष्ट बयान की तरह लग सकता है, लेकिन वास्तव में इसकी एक बहुत ही विशिष्ट परिभाषा है। जावास्क्रिप्ट में निम्नलिखित मान falsy
हैं:
false
0
या -0
या 0n
any
खाली स्ट्रिंग, यानी ""
null
undefined
NaN
इसी तरह, truthy
का सीधा सा अर्थ है कुछ भी जो falsy
नहीं है ।
चूंकि falsy
का अर्थ 0
और ""
हो सकता है, यह कभी-कभी डिफ़ॉल्ट मान सेट करने के लिए एक खराब विकल्प हो सकता है।
उदाहरण के लिए, कुछ परिदृश्यों में, यदि आपका मान वास्तव में 0
है और आप इसे दिखाना चाहते हैं, तो आप ||
ऑपरेटर। इन मामलों के लिए, अशक्त कोलेसिंग ऑपरेटर पर विचार करना बेहतर है।
जैसा कि बताया गया है, ||
जावास्क्रिप्ट में ऑपरेटर के दो मुख्य कार्य हैं। आमतौर पर, यह तार्किक if..else
कथनों में पाया जाता है, जहां यह सत्य लौटाता है यदि इसके एक या अधिक truthy
सत्य हैं, लेकिन इसका उपयोग पहले मान को वापस करने के लिए भी किया जाता है यदि यह truthy
है, या दाईं ओर डिफ़ॉल्ट है संचालन यदि नहीं।
द ||
इन दोनों तरीकों से काम करता है क्योंकि यह वास्तव में एक मूल्य देता है।
आपने शायद देखा होगा ||
तार्किक कथनों में सबसे अधिक उपयोग किया जाता है जैसे if
और else
। इन मामलों में, हम आम तौर पर एक तार्किक कथन का परीक्षण कर रहे हैं, इसलिए ||
यदि इसके एक या अधिक truthy
true
हैं तो सत्य वापस आ जाएगा।
नीचे क्या हो रहा है ||
ऑपरेटर एक मान लौटाता है, जो कि if
कथन तब true
या false
में परिवर्तित हो जाता है
let x = 100; // This returns true, since both of these statements are correct. if(x > 5 || x > 10) { // ... } // Since both "1" and "2" can be converted to true, this also returns true in this context. if("1" || "2") { // ... } // Since both "" and null are falsy, they are converted to false, and as such this returns false. if("" || null) { // ... }
यह आपके द्वारा उपयोग किए जाने वाले मुख्य तरीकों में से एक है ||
आपके कोड में, लेकिन इसका उपयोग अक्सर इस आधार पर मूल्यों को वापस करने के लिए किया जाता है कि वे कितने truthy
या falsy
हैं।
आइए अब तार्किक कथनों के बाहर एक और उदाहरण देखें। जैसा बताया गया है, ||
यदि यह truthy
है, तो इसके बाएं हाथ को लौटाता है, लेकिन अन्यथा इसके दाहिने हाथ को लौटाता है।
यह थोड़ा भ्रमित करने वाला लगता है, तो आइए कुछ उदाहरण देखें।
// Is set to 1, since the first operand is falsy let x = false || 1; // Is set to hello, since "hello" is truthy let y = "hello" || true;
उपरोक्त उदाहरण में, चूंकि x
का बायां हिस्सा false
पर सेट है, x
1 बन जाता है। इसी तरह, y
में चूंकि "hello"
falsy
नहीं है, y
का मान "hello"
है। यह कार्यक्षमता तार्किक कथनों और if..else
कथनों में इसके अनुप्रयोग से भिन्न है, लेकिन कई स्थितियों में उपयोगी हो सकती है।
दिलचस्प बात यह है कि भले ही दिया गया अंतिम आइटम falsy
हो, फिर भी जावास्क्रिप्ट उसे वापस कर देगा।
उदाहरण के लिए:
// Is set to null since false is falsy let x = false || null; // Is set to false since 0 is falsy let y = 0 || false;
श्रृंखलाबद्ध करना संभव है ||
जावास्क्रिप्ट में ऑपरेटर। तार्किक कथनों का पीछा करते समय ( if..else
खंड में), यदि कोई truthy
वाली वस्तु सत्य है तो कथन सत्य वापस आ जाएगा:
// This works since both "1" and true are truthy if("1" || true || false) { // ... console.log('this works') } // This doesn't work since all values are falsy if(false || null || undefined) { console.log('this does not work'); }
जब हम उपयोग करते हैं ||
तार्किक कथनों के बाहर जंजीर में, यह पाए गए पहले truthy
मान का उपयोग करेगा, या अंतिम मान के लिए डिफ़ॉल्ट होगा। उदाहरण के लिए, नीचे x
, 3
के बराबर है, y
true
, और z
{}
है। यदि आप सोच रहे हैं कि z
{}
क्यों है, तो ऐसा इसलिए है क्योंकि जो कुछ भी falsy
नहीं है, वह truthy
है, जिसका अर्थ है कि कोई वस्तु truthy
है!
// x is set to 3 let x = false || 0 || 3; // y is set to true let y = false || true || 3; // z is set to {} let z = {} || [] || x;
द ||
ऑपरेटर अक्सर तार्किक बयानों में उपयोग किया जाता है, साथ ही यदि कोई पाया जाता है तो गैर falsy
मानों के लिए डिफ़ॉल्ट। यह एक लचीला ऑपरेटर है जो जावास्क्रिप्ट को समझने के लिए मूल है। यदि आप किसी अन्य समान ऑपरेटर में रुचि रखते हैं, तो आप नलिश कोलेसिंग ऑपरेटर के बारे में भी पढ़ना चाहेंगे।